﻿using System.Collections.Generic;
using NTQOnlineExam.Services.Infrastructure;
using NTQOnlineExam.Services.Models;
using NTQOnlineExam.Services.ReportService.Section;
using NTQOnlineExam.Services.SearchCriteria;

namespace NTQOnlineExam.Services.ReportService.Term
{
    public interface ITermReportService
    {
        TermDTO GetById(int termId, int userId = 0);
        IList<TermDTO> GetTerms();
        SearchResult<TermDTO> GetTerms(int startIndex, int pageSize, string sorting, int userId = 0);
        SearchResult<TermDTO> Search(TermSearchCriteria searchCriteria, int pageSize, int pageIndex);
        SearchResult<TermDTO> GetTermsByYear(int? year, int pageIndex, int pageSize, int userId = 0);
        IList<TermStatusDTO> GetTermsStatus(IList<int> termIds, int userId);
    }
}
